Predicate Subtyping with Predicate Sets
نویسنده
چکیده
We show how PVS-style predicate subtyping can be simulated in HOL using predicate sets, and explain how to perform subtype checking using this model. We illustrate some applications of this to specification and verification in HOL, and also demonstrate some limits of the approach. Finally we report on the effectiveness of a subtype checker used as a condition prover in a contextual rewriter.
منابع مشابه
Inference of Inheritance Relationships from Prolog Programs: a System Developed with PrologIII
In order to support the object oriented design of reusable software components, we propose to extract an inheritance hierarchy from a Prolog prototype. The goal is to define a reverse engineering technique for recovering structural design information through the analysis of the Prolog prototype. Inheritance is an essential means in object oriented languages to express inclusion polymorphism (i....
متن کاملSubtypes for Specifications: Predicate Subtyping in PVS
A specification language used in the context of an effective theorem prover can provide novel features that enhance precision and expressiveness. In particular, typechecking for the language can exploit the services of the theorem prover. We describe a feature called “predicate subtyping” that uses this capability and illustrate its utility as mechanized in PVS. Keywords—Formal methods, specifi...
متن کاملSubtypes for Speci cations : Predicate
|A speciication language used in the context of an eeective theorem prover can provide novel features that enhance precision and expressiveness. In particular, type-checking for the language can exploit the services of the theorem prover. We describe a feature called \predicate subtyping" that uses this capability and illustrate its utility as mechanized in PVS.
متن کاملA Semantics of Object-Oriented Sets
An account is given of extending the well-known object-oriented type system of Luca Cardelli with set constructs and logical formalism. The system is based on typed-notation, employing a subtyping relation and a powertype construct. Sets in this system are value expressions and are typed as some powertype. Sets are built up in a very general manner; in particular, sets can be described by ((rst...
متن کاملPredicate transformer semantics of a higher-order imperative language with record subtyping
Using a set-theoretic model of predicate transformers and ordered data types, we give a total-correctness semantics for a higher order imperative programming language that includes record extension, local variables, and procedure-type variables and parameters. The language includes infeasible speciication constructs, for a calculus of reenement. Procedures may have global variables, subject to ...
متن کامل